#include "common/api/server.h"
#include "common/api/server_helper.hpp"

#include "api_controller.h"

#include "get_ids_handler.h"

namespace Api
{

GetIdsHandler::GetIdsHandler(crow::App<>& crowApplication, ApiController* controller)
    : m_controller(controller)
{
    ADD_CROW_ROUTE_GET_IDS(
        crowApplication,
        [this](
            const Uuids::Uuid& sessionUuid,
            Elements::ElementType type,
            const std::string& filter
        ) -> std::vector<unsigned>
        {
            // TODO : добавить проверку прав
            // TODO : добавить получение идентификаторов элементов, например,
            //        так return m_dataController->ids(type, filter);
            return m_controller->dataController()->ids(type);
        }
    );
}

} // namespace Api
